package com.engine4cloud.tdf.supervision.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.engine4cloud.tdf.common.core.constant.enums.CorAuditActionStatusEnum;
import com.engine4cloud.tdf.supervision.dto.JzdxAuditDTO;
import com.engine4cloud.tdf.supervision.dto.create.JzdxAuditAcceptCreateDTO;
import com.engine4cloud.tdf.supervision.dto.create.JzdxAuditAssignCreateDTO;
import com.engine4cloud.tdf.supervision.dto.create.JzdxAuditCreateDTO;
import com.engine4cloud.tdf.supervision.dto.result.JzdxAuditResultDTO;
import com.engine4cloud.tdf.supervision.dto.update.JzdxUpdateStatusDTO;
import com.engine4cloud.tdf.supervision.entity.JzdxAuditResultEntity;

public interface JzdxAuditResultService extends IService<JzdxAuditResultEntity> {

    Boolean audit(JzdxAuditCreateDTO dto, JzdxAuditDTO audit);

    Boolean create(JzdxAuditCreateDTO dto, JzdxAuditDTO audit);

    Boolean assign(JzdxAuditAssignCreateDTO dto);

    Boolean accept(JzdxAuditAcceptCreateDTO dto);

    Boolean refuse(JzdxAuditCreateDTO dto);

    JzdxAuditResultDTO getLatest(String code, CorAuditActionStatusEnum status);

    void setStatus(JzdxUpdateStatusDTO dto);
}